/*
 * @Author: ShiJunJie
 * @Date: 2020-11-03 14:11:08
 * @LastEditors: ShiJunJie
 * @LastEditTime: 2021-09-07 16:45:48
 * @Descripttion: 全局组件自动注册
 * @Ps: 在该文件夹编写的组件会自动全局注册 确保该组件可以是最外层组件 且复用性高
 */

const requireComponent = import.meta.globEager('./*/*.vue')

const globalComponents = {
  install(Vue) {
    Object.keys(requireComponent).forEach((fileName) => {
      // console.log(fileName)
      // 获取组件配置
      const componentConfig = requireComponent[fileName]
      // 全局注册组件
      Vue.component(
        componentConfig.default.name, // 此处的name,是组件属性定义的name
        // 如果这个组件选项是通过 `export default` 导出的，
        // 那么就会优先使用 `.default`，
        // 否则回退到使用模块的根。
        componentConfig.default
      )
    })
  }
}

export default globalComponents
